home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / network / apple.old / UDPPB.h < prev   
Text File  |  1996-07-05  |  2KB  |  85 lines

  1. /* 
  2.     UDPPB.h    
  3.     C definitions of parameter block entries needed for UDP calls
  4.  
  5.     Copyright Apple Computer, Inc. 1988-89 
  6.     All rights reserved
  7.         
  8. */
  9.  
  10. #define UDPCreate        20
  11. #define UDPRead            21
  12. #define UDPBfrReturn    22
  13. #define UDPWrite        23
  14. #define UDPRelease        24
  15. #define UDPMaxMTUSize    25
  16. #define UDPCtlMax        29
  17.  
  18. typedef enum UDPEventCode {
  19.     UDPDataArrival = 1,
  20.     UDPICMPReceived,
  21.     lastUDPEvent = 65535
  22.     };
  23.  
  24. typedef pascal void (*UDPNotifyProc) (
  25.         StreamPtr udpStream, 
  26.         unsigned short eventCode, 
  27.         Ptr userDataPtr,
  28.         struct ICMPReport *icmpMsg);
  29.  
  30. typedef void (*UDPIOCompletionProc) (struct UDPiopb *iopb);
  31.  
  32. typedef    unsigned short    udp_port;
  33.  
  34. typedef struct UDPCreatePB {            /* for create and release calls */
  35.     Ptr             rcvBuff;
  36.     unsigned long    rcvBuffLen;
  37.     UDPNotifyProc    notifyProc;
  38.     unsigned short    localPort;
  39.     Ptr                userDataPtr;
  40. } UDPCreatePB;
  41.     
  42. typedef struct UDPSendPB {
  43.     unsigned short    reserved;
  44.     ip_addr            remoteHost;
  45.     udp_port        remotePort;
  46.     Ptr                wdsPtr;
  47.     Boolean            checkSum;    
  48.     unsigned short    sendLength;
  49.     Ptr                userDataPtr;
  50. } UDPSendPB;
  51.     
  52. typedef struct UDPReceivePB {        /* for receive and buffer return calls */
  53.     unsigned short    timeOut;
  54.     ip_addr            remoteHost;
  55.     udp_port        remotePort;
  56.     Ptr             rcvBuff;
  57.     unsigned short    rcvBuffLen;
  58.     unsigned short    secondTimeStamp;
  59.     Ptr                 userDataPtr;
  60. } UDPReceivePB;
  61.  
  62. typedef struct UDPMTUPB {
  63.     unsigned short     mtuSize;
  64.     ip_addr            remoteHost;
  65.     Ptr                userDataPtr;
  66. } UDPMTUPB;
  67.  
  68. typedef struct UDPiopb {
  69.     char                 fill12[12];
  70.     UDPIOCompletionProc    ioCompletion;
  71.     short                 ioResult;
  72.     char                 *ioNamePtr;        
  73.     short                 ioVRefNum;        
  74.     short                ioCRefNum;            
  75.     short                 csCode;
  76.     StreamPtr             udpStream;                
  77.     union {
  78.         struct UDPCreatePB    create;
  79.         struct UDPSendPB    send;
  80.         struct UDPReceivePB    receive;
  81.         struct UDPMTUPB        mtu;
  82.     } csParam;
  83. } UDPiopb;
  84.     
  85.